{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Correlated Random Samples\n",
      "=========================\n",
      "\n",
      "***Note:*** *This cookbook entry shows how to generate random samples\n",
      "from a multivariate normal distribution using tools from SciPy, but in\n",
      "fact NumPy includes the function \\`numpy.random.multivariate\\_normal\\`\n",
      "to accomplish the same task.*\n",
      "\n",
      "To generate correlated normally distributed random samples, one can\n",
      "first generate uncorrelated samples, and then multiply them by a matrix\n",
      "*C* such that $C C^T = R$, where *R* is the desired covariance\n",
      "matrix. *C* can be created, for example, by using the Cholesky\n",
      "decomposition of *R*, or from the eigenvalues and eigenvectors of *R*."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\"\"\"Example of generating correlated normally distributed random samples.\"\"\"\n",
      "\n",
      "import numpy as np\n",
      "from scipy.linalg import eigh, cholesky\n",
      "from scipy.stats import norm\n",
      "\n",
      "from pylab import plot, show, axis, subplot, xlabel, ylabel, grid\n",
      "\n",
      "\n",
      "# Choice of cholesky or eigenvector method.\n",
      "method = 'cholesky'\n",
      "#method = 'eigenvectors'\n",
      "\n",
      "num_samples = 400\n",
      "\n",
      "# The desired covariance matrix.\n",
      "r = np.array([\n",
      "        [  3.40, -2.75, -2.00],\n",
      "        [ -2.75,  5.50,  1.50],\n",
      "        [ -2.00,  1.50,  1.25]\n",
      "    ])\n",
      "\n",
      "# Generate samples from three independent normally distributed random\n",
      "# variables (with mean 0 and std. dev. 1).\n",
      "x = norm.rvs(size=(3, num_samples))\n",
      "\n",
      "# We need a matrix `c` for which `c*c^T = r`.  We can use, for example,\n",
      "# the Cholesky decomposition, or the we can construct `c` from the\n",
      "# eigenvectors and eigenvalues.\n",
      "\n",
      "if method == 'cholesky':\n",
      "    # Compute the Cholesky decomposition.\n",
      "    c = cholesky(r, lower=True)\n",
      "else:\n",
      "    # Compute the eigenvalues and eigenvectors.\n",
      "    evals, evecs = eigh(r)\n",
      "    # Construct c, so c*c^T = r.\n",
      "    c = np.dot(evecs, np.diag(np.sqrt(evals)))\n",
      "\n",
      "# Convert the data to correlated random variables. \n",
      "y = np.dot(c, x)\n",
      "\n",
      "#\n",
      "# Plot various projections of the samples.\n",
      "#\n",
      "subplot(2,2,1)\n",
      "plot(y[0], y[1], 'b.')\n",
      "ylabel('y[1]')\n",
      "axis('equal')\n",
      "grid(True)\n",
      "\n",
      "subplot(2,2,3)\n",
      "plot(y[0], y[2], 'b.')\n",
      "xlabel('y[0]')\n",
      "ylabel('y[2]')\n",
      "axis('equal')\n",
      "grid(True)\n",
      "\n",
      "subplot(2,2,4)\n",
      "plot(y[1], y[2], 'b.')\n",
      "xlabel('y[1]')\n",
      "axis('equal')\n",
      "grid(True)\n",
      "\n",
      "show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEMCAYAAAAs8rYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXl4VFWa/79FFiCEpJKQEKAgiWFLWJICAu6UNBFBkGCT\nHoExYc3T0v1zaG1gtAe3aQEbHEV72hl6WhA1jaCyDolAW6WgQlQSVofQkthhCYIkYAAJJOf3x+Hk\n3qq6VanlVt1a3s/z1JO62zlv3Zz73nPe85731THGGAiCIIiwooPWAhAEQRD+h5Q/QRBEGELKnyAI\nIgwh5U8QBBGGkPInCIIIQ0j5EwRBhCGaKv9ly5Zh0KBBGDJkCKZPn47r169rKQ5BEETYoJnyr62t\nxZ///GccOHAAhw8fRktLC9avX6+VOARBEGFFpFYVx8XFISoqClevXkVERASuXr2KXr16aSUOQRBE\nWKFZzz8xMRFPPvkk+vTpg549e0Kv12Ps2LFaiUMQBBFW6LQK7/Dtt99i0qRJ2LNnD+Lj41FYWIip\nU6dixowZknA6nRaiEWEERTchwhXNev5fffUV7rzzTiQlJSEyMhIPP/wwPv/8c7vzGGOKn+LiYofH\nfP3Rsu5wr1/NugkinNFM+Q8cOBD79u3DtWvXwBjD7t27kZ2d7fL16enpvhMugOsO9/q1/u0EESpo\npvxzcnJQVFSEESNGYOjQoQCAkpISrcQhCIIIKzTz9gGARYsWYdGiRR5dq9frVZYmOOoO9/q1/u0E\nESoE7Qrf3NzcoKy7pAQwmYAJE4DGRv/XrwbBeu8JgpDQzNvHFXQ6XchNzJlMwCef8O+FhcCGDZqK\nE9aEYvsiCFcJ2p5/sBITw//m5QGrV2srC0EQ4UvQKn+LxRKUdZeW8h7/zp2Ap+ZrLX+71vVr/dsJ\nIlTQVPk3NjZi6tSpyMrKQnZ2Nvbt26elOH5Br+emHpq3JAhCSzS1+RcXF2P06NGYPXs2bt68iStX\nriA+Pl4SLgBssiUlQHU1N9eUlpLSDiUCoX0RhFZopvwvXboEo9GIkydPOjwnEB5ONSdo6UUSWARC\n+yIIrdDMz7+mpgbJycmYNWsWDh48iOHDh2PVqlWIETOit5g5c2bbqk69Xo/c3FyYTCYr26/JZAIg\n2YPV3L52DQBMyMsDioosENXKZXC1vIoKCw4e5OWVlADz53smn6f1q7WtZf1VVVVYsGCBR9e/+uqr\nqKqqolXCBAEATCO+/PJLFhkZySoqKhhjjP3Lv/wLW7JkidU5zsQzm82+FK+NhgbGCgv5X2/rHj+e\nMYCxvDzr8tzFX789EOtXs24Nmz9BaI5mZp/6+nrccccdqKmpAQDs3bsXy5cvx/bt29vOCeRhuScm\nnMZGft3q1a6dT2Yi3xLI7YsgfI1m3j6pqano3bs3qqurAQC7d+/GoEGDtBLHbaqr+VxAWRlX0q7g\nzNNHaeWvJ3UQBEG4gqaunq+//jpmzJiBnJwcHDp0CE8//bTL12rta672Yi0lRe+oDq193bW+9wRB\neI+mgd1ycnLw5ZdfaimCx5SWKptwPDXVKCl6R3UQBEF4C8X2URlXXUNLSoBt24DmZmDYMOB//gdY\nuJAUvT8JxvZFEGoRtOEdAhV5Dz4mxnEEz+pqoL4euHgR2L0bWLCAK/2CAu8ifhIEQbhC0Cr/QLU7\ny2P31NZKdvysLGuFbrOcAYy5PsEr6lcjPLQnBOq9JwjCdYJW+Qcqco8euYKvr7dW6KWlQEoK/240\nAmvXuh/xk7yBCILwFM1t/i0tLRgxYgQMBgO2bdtmdSzYbbKNjbzHX18PdOsGDBgAxMVJE8GNjdze\n37Mn3//GG+7Z/SdM4Io/L8+7KKHhSrC3L4LwBs17/qtWrUJ2djZ0Op3WoqiOXg988w03A0VEAJ99\nxpX1rFnS8T59pP0LF7oX8VON8NAEQYQnmir/U6dOYceOHZg7d67bPbBAtzsLe/z06bwn39wsHZP/\nVE/WC4j6tQoPHej3niCI9tHUz/83v/kNVqxYgcuXLzs8x1FgN8B/gcyUApu1dz63x/PtrCwThg7l\n2337AmvXSue3tgKdOplw4gQwdqwFSUnA9esmfPstoNfzxWQffWSCXs/PX7kSOHWKm4rmz7cgNjYw\nf7+vtquqqjy+ngK7EYSEZjb/7du3o6ysDP/5n/8Ji8WCl19+OaRs/sIeL5g8GYiOtrfny9cFAEBU\nFHDjhnVZ8vUClANYPYK5fRGEt2jW8//888+xdetW7NixAz/99BMuX76MoqIirFu3TiuRVKW0VJrs\nzcvj3jxC6ctXAUdFWV8nFH98PHDpkr05iHIAEwShBprZ/JcuXYq6ujrU1NRg/fr1GDNmjFuKP1Dt\nznJb/333AcnJXJHLkbtoVlZyl8/kZH7MaOSjhIMHpcncRYskf/433gBGj7ZoOskbqPeeIAjX0dTm\nLycUvH1KSrgZ5tIlvp2cDJw/z1fwimOA1Hvv2hX44Qf+PSUFSEvjxw4cAGbM4O6fgPSyALhH0HPP\nkXcPQRDeobmfvzMC0SYrN9mkpPBVvCKIW0GBpKQTEoDhw7nit/XDnzkT2LEDaG2VlD8AdOoE/PST\ndX0ZGXw9QEMDHxV8/LFzxU85AFwnENsXQfiLgOn5BwvyXrjo2QNc6YoefXQ00L8//15QAKxZw003\nQilfvixdJxR+ZKS94s/L42XdyneDPn3slbmtspfLJx9tEARByNF8kZenaGX75Qregrw8ICeH7xOT\nr2LRVV4esH8/7/VHRXGFLbfzHzjAr4uI4KODbt2AmzelOqKigKQk4MwZ4OhRvk+EgACsY/ts2GAd\n4sEfE8Jk8yeI4Cdolb9WlJYCo0dzM87GjdYrbMWiK2Grlyvgb7/lf+WunC0tfHWvmCMA+AshJoab\ng06flgK2HT7M65IHcKuulq6NjuYvixs3+GiDVv0SBOEMTW3+dXV1KCoqwvfffw+dToeSkhI8/vjj\nknBBaJMtKQGOHePKft8+4MUXuZI+eLD9yJuRkdYjANttgHsCbd7Mv4u1BNHRfP5AnCs/h3BMMLYv\nglALTW3+UVFReOWVV5Cbm4umpiYMHz4c+fn5yMrK0lIsr6iu5r15gHvmfP+99SIuJYUusN1/86b9\nJPDu3VzZA8CoUdxDqKGBzyMIQsBxiiAIH6Op2Sc1NRW5ubkAgNjYWGRlZeHMmTMuXRuodmdbm7vY\njo3lf2/elJR3e3TrxucV5Mr8yhXgxg0LbtwA9u4Frl61VvxDh/IJZl8SqPeeIAjXCRibf21tLSor\nKzFq1CitRfEKMembnc1t7wcPAh07Sr13o1Fa0OWIQYO46WbAAD5xLCwTRiOfExDEx0uTzno98OCD\nfJRBtn6CINojIFw9m5qaMHXqVKxatQqxoot8C0eB3Uwmk2aB3Wy3S0t5ILdr1yxYsgTQ6023FntZ\nbv0K062/FnTpAqSnm3D6NN8Wxzt0AFpb+faJEyb06QP83//x7bg4E+LjeY+/c2egqcmEuDjgv/+b\nl5eQYMLq1UBVlQVVVVy+khKgosKCjh2tA8MFwv3SKrAcBXYjCAnNF3nduHEDEydOxPjx47FgwQKr\nY8EyIScPtpaRwfPyCi8cnU7qufPInjz0gzzoGyB5AfGXAN/XsSNw/br1cYDPA0yZwr17YmL4SGLX\nLu4hFBMDjBgBXLsmzT1QADhlgqV9EYQv0NTswxjDnDlzkJ2dbaf42yOQ7M5yO3/PnpLij4rimboE\nGRncJJOczP34BZGRwNatgMEA3Hsv39etG3cFFcgjff70kwWbNkn+/f/7v8DZszxnQGMjnxT++98l\nmVavVjffbyDde4IgPENT5f/ZZ5/hnXfegdlshtFohNFoRHl5uZYieYQ8o5bw8Y+MBO68k4d5ALgS\n1uu5At62zTqsw82bwLx5QJcufAFYhw58jsCRV1BMDB8VCK5csT9n6FDrNQiU75cgCDkOzT4ffPBB\nu8Pizp07Y8KECb4TLgiH5Y2NPLSDCN/QsSM3+9x5J++9C1MMYO32GR/Plbgjhe+IIUP4y2D/fuv9\nDz4IbN8ubVO+X3uCsX0RhFo4nPAtKSnBQw895PBCxhj27NnjU+UfjOj13OZeVsY9c4TN3mKRXDyF\nyScrC6io4OYa+SpfdzhyhI8UAOv5BVuSk5XDSxMEEaYwB0yfPt3RIbfO8QYn4jGz2ezTup3RXt0N\nDYwlJzPGVbH1x2Bg7K67pO3UVOl7ly58u0MH5Wulj1lxf0SE9F2nY2z0aC4LY/y7OFZYyNi8eXzf\n+PHSOWr9fl+iZt3O2hdBhDoObf7vvvtuuy8OV84JR0TvX3zv1o1/z8vjMXrksX/27ZNGAleuAPfc\nI5lk3F2pK58gZozb+IV9X0xKd+vGvYTef195DkDNiWGCIAIYT94YO3fuVPslpIiH4gUEDQ28h93Q\nYP2dMcaKi/nIoFcvxlJSeC8dYCwujrHaWsamTXOl92/9iYy039elC2Njx1rLIB91AIzl5Vn3/G1H\nCKFMMLcvgvAWj7x9Zs+ercqLp7y8HAMHDkS/fv3w0ksvqVJmoCAifMqjfYoefW0tnxA+fZrH/hF2\n+suXeepHkejFHWwnirt25SMJkUXMNuKo0cjjAkVH83UHopdPOYIJIjxwOOE7adIkhxf9IPdT9JCW\nlhb8+te/xu7du9GrVy/k5eXhoYcecjmom8ViaVu56W+8rVso2IgIa1ONXs9j9bQ/+WuBtGpYmc6d\ngR9/5Eo8JoabcmJieA7ghQu5YpdnHhO5AUpL+ffVqx17BAXzvScIguNQ+e/duxdvv/22VbgF4Rq3\n39av0AMqKirQt2/ftqX2jzzyCLZs2RLUET2VsM20tWgR7+FHR3MvH0FkJPDpp1xJe4rc2ycvj4eW\njo7m6wouXuT7b78d+OYbrtiVevlihEAQRGjjUPmPGjUKMTExir2sAQMGeF3x6dOn0bt377Ztg8Gg\n+FIJhtg+zrYrKoCDB/l2QYEFjY3SNmC5Fc7BhJs3gREjLLdGAtJxjvV2UpIJP/wARERYnx8XZ8Gl\nS/x4YyNw/rzlVgpI6fr6eqCkhMcemj/fgqtXgc2blWP/TJxowalTQM+eJpSW8thBWt9PORTbhyA8\nR7PYPh988AHKy8vx5z//GQDwzjvvYP/+/Xj99dcl4UJgEY5YXNWtG4/Sefw4cOEC9/C5dMm1RV1y\n89CECdxf/733+D4R9sFoBDZt4nMG331nPWcwZAhw7hyfX+jYkX+io4GvvuJ2f0fIYxaFYnygUGhf\nBOEpmoV36NWrF+rq6tq26+rqYDAYXL4+WOLLiNAPAwbw1b0XLvAYPgMHOlb8XbpYb4sQEUYj8O67\nvAf+00/W8X4uXACKi/kLxXayuHdv/tIpLOSK//Jlfv7ddzuX3dHkb7Dce4IgHONQ+U+cOLHdi105\nxxEjRozAiRMnUFtbi+bmZrz33ntOVxQHK0p5feW+/nJf/rg4rqjFSmCx7+OPeTKYb78F+vUDZO/M\nNk6d4r10YduXEx0tySHKjonhyWAcUVLCXxKpqTxXMYWDIIjQwqHZJz4+HveKEJMOOHLkCGq4Udkj\nysrKsGDBArS0tGDOnDl46qmnrIULoWF5Y6O1F43YrqvjC70A7n3T0GCd9hEAUlJ4oDeRsctZGAfb\n4126AEePSuad777jPf69e+1NPvLJ6cuXQz8kdCi1L4JwF4fKXwyvDx06BIPBgKRby1Dlp3fs2BF3\n3HGH74QLg4fTNuCaiPVv6wbqKjod9/H/8UfpBZCczM09aWl8JFFaqtyTl9v4U1OB+vrQDgQXDu2L\nIBzS3iqwp59+mmVmZrLCwkJWVlbGWltbfbPcTAFn4oVKfBnb1b9FRXz1b0KC49W8ERHKsX2UPrGx\n9vscrdwdP15a9Vtbay2Xr36/u1BsH4JQh3YnfF988UVUV1dj9uzZWLt2Lfr164enn34a3377re/f\nTGGA7erf777jq38bGqRonbZ07tx+ubGxfP4gKsp6f0KC/cpdEc/nxg1uetq5k48S5HIRBBFauOTt\n06FDB6SmpqJ79+6IiIhAQ0MDpk6dioULF/paPodoucrTl3ULDxudznGIh6YmEzp14t8jHazUaGri\nk8ANDdK+hASgstJaoYuVvZ98wkNBREW1r/BD9d4TRDjRrp//qlWrsG7dOiQlJWHu3LmYMmUKoqKi\n0Nrain79+vl0BBAqNlnbVb7OlGtjI5/glbtx2iL36ZfnC5bn/5UTHc3nAYxGnmbyu++AkyeBPn34\nal/hIRQZyUcAvXrx+EOuyBvMhEr7IgiPaM8u9Mwzz7Da2lrFY0ePHvXY3vTb3/6WDRw4kA0dOpRN\nmTKFNTY22p3jTLxgsju3Fylz3jwexz8xkUfh7NhROr9rV8b27mWsZ0/G7r+fsbQ0xhISzCwxkTG9\n3jp+v4gOKv/o9Yzdfru07SjPgPwjP0fIK4//v22be79fTcjmTxDq0K7Z5/nnn0eag2Wg2dnZHr90\n7r//fhw9ehQHDx5E//79sWzZMo/LCnTai5RZXc09ay5e5KYXcT7AvXSmTePJ3yMi+AKxhgZ+rjze\nvlDXgshInsqxpkZaJBYbK7mLCnNRRIS1LAkJQE6OvbzyHMArV3p2HwiCCBwcxvbxNfn5+W3fR40a\nhQ8++MCt64PJ7txepEy5sjcaeeiH3bu5qebCBb5fLOzii8Larz8igr8cpk/nqRsjI/k8gODmTf4i\nuXZNSiYfH8/nBOLj7eUVMnbtCkRF8dhBWpiDyOZPEOqgWWwfOZMmTcK0adMwffp0q/06nQ7FxcWK\ngd2AwAjcpsZ2bq4JM2cCP/xgweLFwN13mzBsGA/M1tQERESYbvn8W27dGX69UmA33rM33TqPny8C\nwQGWW+sHTMjLA555xoIrV4AnnjDBaAR++UsLYmOB0lITqquBa9csWLIEmDiRK/v0dMut+QUTCgt5\nYLhAuH+eBnZ7/vnnyeZPhC++tCmNHTuWDR482O6zdevWtnN+//vfs4cffljxemfiBZPN3xPk8wRR\nUVKmL5HDNzKSsbvvts7a1aOHcgawlBT+NyGBsZ//nNv0RYYvpVy+juYoxDqAAQPMbuf9VQuy+ROE\nOvjU7LNr1y6nx9euXYsdO3bgb3/7my/FCErkpqAbN7iJZu9eHiDu+nVutomP5375ZWU8a9eVK/bl\nDBoE/O//cs+gnj0Bs1maWygp4ZE+bRO6OJqjEOaroqLQ9QAiiHBBM7NPeXk5nnzySXzyySfoJjKc\n2xCurnglJTwRy5df8oQv8hALiYmS7/7kydwtdM0axxFCO3UChg/n5cl9/o1GHjBOhJOQ12EbhyhU\nCdf2RRCAhsq/X79+aG5uRmJiIgDgjjvuwJ/+9Cdr4cL04ZTH2DEYeBRQoYTz83mvXShveSpGd5g8\nGdi8OXwUvRLh2r4IAtAwnv+JEyfw3XffobKyEpWVlXaKvz1COaa83OwiV/wAD688erQFH39snYpR\nr+cJY8R325W/8lAROh2wahVX+gUFPKroxIk8yJzcfdQRoXzvCSJc0MzVk3CM3DV00SL71cHPPSe9\nEOTnAsCwYdy2/3//x104hwzhvv2nT0urfxnjpqCmJj5/AEiupMLuTxBEaBMQrp6OoGG566kURQiJ\nw4elcA3CZOSqaSgigsf637w5PExA1L6IcIZ6/gFOe6uDBWIFrkDMCchNQwKRK8A2FlBLCy+jpIRf\n52o8IoIggg/NbP4A8PLLL6NDhw64qJR7sB3Cxe4scgDLE6pMnGiByWRto7dV8H36WJuGRBjoyEgp\nCXx8PN8nUkoC/KWxerV1OIeSEuuyw+XeE0Qoo5nyr6urw65duxzGDSI4tvH+ASlfr1wxyxV8fDyf\n0JWXMWwY/37zJp/gFTkDDAbg0CHu/VNQYD9aaG/EQRBEcKKZzb+wsBBLlizB5MmT8fXXX7e5fMoh\nm6wy8tSP2dlS+OWLF4H9+/k5tvMD4ppu3fiisUuXrE1DtoSDCyi1LyKc0cTmv2XLFhgMBgwdOlSL\n6oOakhLuvZOayt0+i4ut8+4C/KUQE8Mni0Xc/s6deXauhgYpsmefPsreRIA04iAIIjTxmfLPz89H\nfX293f4XX3wRy5Ytw86dO9v2Oet9zZw5UzGwm9z26+9AYWKfFoHKKiqAgwcBwITiYguuXePf8/KA\nJ5+04I03gM2bTbc8fPj1dXX8+shIy62VwCYkJABz51rwb/8GHDzIjxcUWPDcc4H9+6uqqrBgwQKP\nrrcN7EYQYY2/gwkdPnyYpaSksPT0dJaens4iIyNZWloaO3funN25zsQL9cBujuDB1cwsL48HYrNN\nAC/o3dtxspaEBJ6gXSqPtZXnDBEEbuRICuxGEMGO5n7+GRkZZPN3A1dt8XffDXz2Gf+u03G1n5jI\nvxuN3GTkLI6PUupJV9ccBAvUvohwRlNXT4A/gITrKHn/KCHcNxMSuJmosBDIyuKrfkVET2flKbl6\nkgcQQYQOmiv/kydPKvb62yOcfc1dqV+sDzh5kod42LCBJ24HuCvoihVcqduuFxAoKXpR5jPPWDTz\nANL63hNEqKC58id8g1KPXiypuHQJWLjQ+UIupcVloszYWNflcPaCIQhCOzS3+TuDbLLqIvf1HzAA\nOH6c5wju2hUYNUqaB5CjZPt3h0CeJ6D2RYQzpPzDCDG5e+aMNBncsaMU2VOunIXS37dPOl5QAGza\n5F6d8gVp8lFEIEDtiwhngtbsQzZ/9xFmGzEZnJcH3HOP9F0+iStMQkLxA9xjyN36lcxH3qD1vSeI\nUEEz5f/6668jKysLgwcPxuLFi7USIyyRK+SNG5WVs5jwFS8KoxFYu9b9ulz1TiIIwr9oYvYxm81Y\nunQpduzYgaioKJw/fx7Jycn2wtGw3GO8tdULE9GKFXxyOBRj/FD7IsIZTZT/L37xC/zyl7/EmDFj\nnJ5HD2f7OFLygTzRGihQ+yLCGU0Cu504cQKffvopnn76aXTq1AkrV67EiBEjFM+l2D7O6+exfvhx\neWwebraxYMAAYPXq0Pn9FNuHIFTCV3Ejxo4dywYPHmz32bJlCxs8eDB7/PHHGWOMVVRUsIyMDMUy\nnIkXrrF9bOt3FJvHUcwftev3NxTbhyDUQROzz/jx4/Gv//qvGD16NACgb9++2L9/P5KSkqzOo2F5\n+4RD3H1fQe2LCGc08fYpKCjAxx9/DACorq5Gc3OzneInXMNVbxpaaUsQhBxNlP/s2bNx8uRJDBky\nBNOmTcO6devcLoP8/N3DWSgHf9SvFlrfe4IIFTSZ8I2KisLbb7+tRdVhh/AGOnqUb1NEToIgAArv\nEPLIXT4NBuDwYZobEFD7IsKZoA3vQLiGPDQzKX6CIARBq/zD2e6sZWwdd+tXG63vPUGECkGr/Kuq\nqsKybnfr90VsnXC+9wQRKmii/CsqKjBy5EgYjUbk5eXhyy+/dLuMRg39FbWsO9zr1/q3E0SooIny\nX7RoEf793/8dlZWVeOGFF7Bo0SItxCAIgghbNFH+PXr0wKVLlwDwnlyvXr3cLqO2tlZlqYKj7nCv\nX+vfThChgiaunt999x3uvvtu6HQ6tLa24osvvkDv3r3thdPp/C0aEWaQqycRrvhskVd+fj7q6+vt\n9r/44ot47bXX8Nprr2HKlCnYuHEjZs+ejV27dtmdSw8mQRCEb9Ck5x8XF4fLly8D4Aper9e3mYEI\ngiAI36OJzb9v37745Nay048//hj9+/fXQgyCIIiwRZPYPqtXr8avfvUrXL9+HZ07d8ZqCjZDEATh\nVzTp+Y8YMQL79+9HVVUVvvjiCxiNRpeu27hxIwYNGoSIiAgcOHDA6tiyZcvQr18/DBw4EDt37vSF\n2FY899xzMBgMMBqNMBqNKC8v93md5eXlGDhwIPr164eXXnrJ5/XZkp6ejqFDh8JoNGLkyJE+r2/2\n7Nno3r07hgwZ0rbv4sWLyM/PR//+/XH//feT3z9BeEhQrfAdMmQINm3ahHvvvddq/7Fjx/Dee+/h\n2LFjKC8vx/z589Ha2upTWXQ6HZ544glUVlaisrISDzzwgE/ra2lpwa9//WuUl5fj2LFj+Otf/4pv\nvvnGp3XaotPpYLFYUFlZiYqKCp/XN2vWLLuX6vLly5Gfn4/q6mr87Gc/w/Lly30uB0GEIkGl/AcO\nHKg4P7BlyxZMmzYNUVFRSE9PR9++ff2inPw5V15RUYG+ffsiPT0dUVFReOSRR7Blyxa/1S/w52++\n5557kJCQYLVv69atKC4uBgAUFxdj8+bNfpOHIEKJoFL+jjhz5gwMBkPbtsFgwOnTp31e7+uvv46c\nnBzMmTPH5+aH06dPW62F8NdvlKPT6TB27FiMGDECf/7zn/1at+DcuXPo3r07AKB79+44d+6cJnIQ\nRLCjyYSvMxytD1i6dCkmTZrkcjlqLBBztlbhsccewzPPPAMAWLJkCZ588kn85S9/8bpORwTCgrfP\nPvsMPXr0wPnz55Gfn4+BAwfinnvu0UwenU4XEPeFIIKRgFP+Sou92qNXr16oq6tr2z516pRHISM8\nlWXu3LluvZg8wfY31tXVWY12/EGPHj0AAMnJyZgyZQoqKir8rvy7d++O+vp6pKam4uzZs0hJSfFr\n/QQRKgSt2Udue37ooYewfv16NDc3o6amBidOnPC5N8rZs2fbvm/atMnKI8UXjBgxAidOnEBtbS2a\nm5vx3nvv4aGHHvJpnXKuXr2KH3/8EQBw5coV7Ny50+e/WYmHHnoIb731FgDgrbfeQkFBgd9lIIiQ\ngAURH374ITMYDKxTp06se/fu7IEHHmg79uKLL7LMzEw2YMAAVl5e7nNZHn30UTZkyBA2dOhQNnny\nZFZfX+/zOnfs2MH69+/PMjMz2dKlS31en5yTJ0+ynJwclpOTwwYNGuSX+h955BHWo0cPFhUVxQwG\nA3vzzTfZDz/8wH72s5+xfv36sfz8fNbQ0OBzOQgiFAnoHL4EQRCEbwhasw9BEAThOaT8CYIgwhBS\n/gRBEGGI5sq/paUFRqPR566SBEEQhITmyn/VqlXIzs6mxToEQRB+RFPlf+rUKezYsQNz586lrF0E\nQRB+RNOpuyOAAAAgAElEQVQVvr/5zW+wYsWKtqxettBogPA1WnU6qG0Tvqa9tq1Zz3/79u1ISUmB\n0Wh0KiRjTLVPcXGxquX5utxgLTtYZNaaQLwnVFZolOUKmin/zz//HFu3bkVGRgamTZuGjz/+GEVF\nRVqJQxAEEVZopvyXLl2Kuro61NTUYP369RgzZgzWrVvn0zrT09ODqtxgLTsYZQ5m1LwnVFZolOUK\nmnv7CPxhAzWZTEFVbrCWHYwyBzNq3hMqKzTKcoWAUP6jR4/G1q1btRaDIFSF1rAQgUxAKH9nTJgA\nUI5uIhihNSxEIBPQUT35Q8NQWAhs2KC1NESoodPpXPaMcJdTp05h5syZ+N3vfof/+I//wLZt2/xW\nN0G40r408/P/6aefMHr0aFy/fh3Nzc2YPHkyli1bZndeXh6werX1vpISoLoaiIkBSksBvd5PQhOE\ni7S3hgUAZs6c2TbJp9frkZub22b3tVgsAEDbtO3S9quvvoqqqir3Jo2Zhly5coUxxtiNGzfYqFGj\n2J49e6yOA2BKuTpGj2YM4J/CQtfrM5vNngurQbnBWnawyOyr5r9t2zY2f/58xhiXd+LEiT6tW817\nQmWFRlmutC9Nbf4xMTEAgObmZrS0tCAxMdHuHKVe/a3LFEcFBKE1tIaFCAY0tfm3trZi2LBh+Pbb\nb/HYY4/hD3/4g9VxR3arxkZu+lm9mkw+hOf4w+7+ySefYOXKlWTzJ/xKQNv8AaBDhw6oqqrCpUuX\nMG7cOFgsFjtfV0d20Q0brO1eJSVARYUFHTsCH31kgl6vvR2OtgNr2yO7qAqQtw8RkKhmZPKSF154\nga1YscJqnzviuTIPEO42bn+VHSwya9n81aw7UO3OVJb7Zc2bx3XZ+PFMcb7TVVxpX5rZ/C9cuIDG\nWw78165dw65du2A0Gj0uj+YBCIIIdqqrgU8+AcrKuGnbl2hm8z98+DCKi4vR2tqK1tZWPProo1i4\ncKG1cG7YRWkegHAXLe3uZPMPbLRyJ58wgSv+vDxg507P63WlfQX8Ii9vxHPlH0hrBsIXUv6EI0wm\n3gMH4NdFpmp1Yl1pXwEf3sFdSkr4P27CBODYMeshlJgAHDiQ39jkZGDLFumcmTM9q1OU6wuCsexg\nlDmYUfOeUFkcV83Iasul1/MXjT86oZp6+/gCYTMDgNRU/lf8A6uq+HZ9PXDpkv215JRBEATArQC+\nMiMHirVBU7NPXV0dioqK8P3330On06GkpASPP/64JJwHQ2O5zWzjRmDhQvt/YHIycOGC9XVDh/KX\nBpl9wgcy+xBa4A+TUsDb/Ovr61FfX4/c3Fw0NTVh+PDh2Lx5M7KysrhwHjwg7dnMSkqAw4eB/fu5\nY6ggLQ1obgZ++gkYPpy/OOhFENqQ8ie0QK1JXWcEvM0/NTUVubm5AIDY2FhkZWXhzJkzXpXpzGZm\nsVhQXQ3s28cVf4dbv75bN6ChATh7lv/dvds9+3+w2rjJ5h8aBLNt3d9llZQAubkW1ULFeyJXaSnv\n8dsqfn+37YCx+dfW1qKyshKjRo3yaT0nT0rfW1uBTp24rd82+CLZ/wkiuHBkSy8pAbZt4yN7xngH\n7+BBvt8fXjxKcgVCiPqAcPVsamqCyWTCv/3bv6GgoKBtv06nQ3Fxsaphb//f/wOOHDHdqoEfj4oy\n4cYNaTs21oQjR4CaGvfLp+3A3bYN7/D888+T2SeEkNvSMzKAPn24wr18GfjsM+tznZlc1J6Q1cJt\n1KX25fkCYnVobm5m999/P3vllVfsjvlCvPHjeQiIyEj+Ny/POjSE+Oh0jEVFMWYyWS+zVmv5NaE9\nvmr+//jHP5jJZGLZ2dls0KBBbNWqVX6rO5wRz3ZeHmN33SU9y6mp0vfYWMYefND5syvXB8nJ3j/r\ncrn8pTNcaV+atsDW1lb26KOPsgULFigeV/sBMZvNrKGBx/6preV/Gxr4R95AbD/R0fx8xpRjCAVL\nLBt/lR0sMvtKAZ89e5ZVVlYyxhj78ccfWf/+/dmxY8d8Vncgx6pRiwcfNLfb6RLPdkODtcKtrWUs\nKUl6bkePluRS6syJa2Nj238JuPIb5XI5I6zi+X/22Wd45513YDabYTQaYTQaUV5e7tM6hb0tLU2a\nGNbrgW++AaKilK9pbuYLwxobpcUfsbHcdkj5hQlbfOHIEO6cOtV+zBu5s4d8UjUtDRg5kp+Tlwf8\n9rfSNdu3S+XOmsX3JSfzT3Q0346KAs6ftz7HFcSC0+nTAzPsTEDY/B3hb7tor17AmTPcC6i11f54\nYSHQuTNvWDdvSvvkNrxAWcBBtI8/2ldtbS1Gjx6No0ePIjY21qputeezQnl71CgLKiqAvDwTdu4E\nqqpcv76kBPjiCwvOnAEOHDAhLU06/vDDJjQ0AIAFd90F7N1rumWj58cNBhOamoDGRr49ebIJKSk8\nfPyZM0D//ibExQHz51sQG2td/4IFwMGDfHv0aAueey7A5rNUG2f4AH+LJ7cTRkdbm36Evc52fiA1\nlbHu3RlLTGRs7FjrMtxJMUn4H1+3rx9//JENHz6cbdq0ye91BxrezpW1ZzoR5RsM/BmU1+Ms3PvY\nsXy/0chYcTE/t1s362defo6SDnBkFtLC1i9wpX0FdAtU+wFpz6bWuzf/Z8XHS/9go5GxggL+z5s3\nj7EOHZTmBcxt38XxuDhpnsCXMgdi2cEisy8VsDNHBrXrDlQ7vbwsd/Nu274s2pNLSSEXFPBjciVc\nXMxYTo65rVz5S0VehsEgKWzbF48oLz6eP/vCeQRgbPJkSSZXbf2CsLL5Bxp9+vC/ly4BCQncpPPx\nx9z+l5UF/M//KJuD5Ijjly8DCxb4Vl4iMGGMYc6cOcjOzsYCagQA3M+3oWSLd6X8iAhpn7B6yO3/\ntbXcx7+sDOjf39oeL5/PGzhQKkfMCxYU8NW5b7zByzt4EBg9GujaVTpXvj7In0HaPEK1V40HzJo1\ni6WkpLDBgwcrHve3eErDtHnzuMunI08gZ5+OHblJKCGBDx3JNTSw8FX72rNnD9PpdCwnJ4fl5uay\n3NxcVlZW5pe6AxV3e8EJCcq9acb4M5maKplaRQ8+I0P0xhkbMkS5LiVPHjESaWjg5hulEYqrpiNh\nIdDaHdyV9qVpC/z000/ZgQMHAkb5KzVQpeGkp5/oaHoJBBJaKuBwU/6uIFeacrOr7ToboeBtlbH8\nWe3Th7EePaw7XvPmMZaSwjtz4uUSG2t9PDGR709Ksp47cGa/t9Ub7pq4fEHAK3/GGKupqfGb8vfE\npib+6cKOn5/PF4mIj63N35WPsEX6Smatyw4WmUNF+Qe6zd/VnrBcaRYU8J78XXfxubjBg7mdXu5Q\nATAWEcHYoUP8ekeLvABeljSCN7d1xsRxnc76fDHpKxS4XMHLf8+2bfa/UYwE3J3obe/euzOicKV9\nBUxsH0fMnDlTNXe4qlsB/d25fv58IDraBJ0OmDPH2p1r4kSLjbRi2+R0e+9eE4qLgYMHLejYEfjo\nIxP0euX6q6qqfOYe5sn9cGVb4Av3P2/uh607HOEf5Dk2nMXTkc8LrFnDbeziuro64MgRKUeHoKWF\n2+Hr6qQY/FVVQE2NdI7RyMuW74uMBO64g5cfFYVb4V0kcnN5gEcxRyHs9yUlwFtv8bU/APDjj8DE\nida/cfJkPifgrm//ypXAc885dhN39T66jOvvJd/gz56/2nhjEpL3OmxtmoR/0LJ9BXrbdhVXeqOu\nujw696qRVusWFkrmmZgYe686uVmoQwfGpk2TzrcdNSg9m2VlkixFRdbmI9sRxYQJjn+ju7b/9sxF\n7riOutK+NG+Bwaz85SYh24+yS6jyR6djTK+n+QB/Q8rfe1yxbxcX84lUd9u3mMTt2JE/I4mJkqJ/\n5BHegRo92toU07s3s3K9BKwncTt2dP4slpVZK21bZW8bBkaYcJXmC3v0cM/U255yd2fSnJS/DWrb\nohsaeK89IsJsp8w9HRGkplr/c4PFfu6PctUuO1SUv5Y2f7nCKipS9s139IJwpWcsXSvZ6W2VstzL\nx/aTlyfZ4GNjeXl6vdnuvF69pAleedlyTz+jkb98UlKkbWHzV0I+uk9Obl9pb9tmdssjyhmutC9N\n/fynTZuGO++8E9XV1ejduzfWrFmjpThuo9cDmzdz+yAADBnC7X1xcZ6XWV8P/PM/qyMfQaiNiFcj\nkqHIfei/+045/o4jH39hw1aK1yPqOXrUen9zMz9//36+LWJsKeXkjo4G4uP5+pzkZKCpidfX2mod\nt+fQIaBvXx72uawM+PZbqWwxF9CzJ1/zk5YGHD8urQGSReywQ/xugMcGchSTSBAb6+d1Ad6/Y3xH\ngIvXhu1wTPQ0PP1EREi9oUDwGQ5VtGxfwdK2bXFm5nFkthDPhwif0Ls3710Ljxq5u6VAbjIRPX5H\nvXvxiYzk5lPxDMnlFLJ17Srtl6/itY0CmpEh9dy7dvVstb5cD/h7DYAr7SugW2AwPiDz5vGG3bmz\n4wklVz9yf2Slh43wDlL+7uOOv7stjvJmyE0jQinK272SCcbZMbm5JSHBOoyD3AQ0dqz0QoqJ4S+P\npCSu6G1l9eTZE2ZhER7G9h748nkm5W+DP2zcSg3cdgLKvY+57SHp2pX3ltSIGWQrt5qQzd+/dfvT\n5u/OpKNtDH5nDhJdukjfU1OVniOzwxeAXi+NCmJjrWP3R0czNmqUJENDA2Px8ea240oTwAaDtay2\nC77cuV+2OHt5hlVsn/LycgwcOBD9+vXDSy+9pKUoqiHsfPHx/G9CAnDgAPcr9gQRK4Qx7lN84QJw\n993ey0kQntBevBr5nIDtHEBpqb2fvuD6del7fT23fxcUcFu9nJYW+2uvXJFs/k1NwA8/SM9NczOf\nHxAy6PXAgAH8WNeu9uV16MD3NTQAKSnAgw/yOD9iPqA9u317OErergUO4/l/8MEH7cY779y5MyZM\nmOBRxS0tLRgwYAB2796NXr16IS8vD3/961+RlZUlCReEeU4bG3kDWbECWLhQWuiRnMwVd6dO/Lwb\nN5QbsiMiI3kOgZgY4KGHAIuFN+xhw4CNG7VvSMGIL9tXeXk5FixYgJaWFsydOxeLFy/2W91aIs9X\n27kzcO0an1QdNgxITOTtdP163plxRlQUcOIE70SlpPDnpXNnoEsX/hzJ6dbNfp9A5Obo2hUYNYo/\nKwAP6nb+vHRely78ebJd7FVYyF8oZWXO8/4GGl7l8E1MTGQzZ850+CkuLma33Xabx8OSzz//nI0b\nN65te9myZWzZsmVW5zgRL+ioreXDSWGysZ3QcvbR6RjbuFG6Xg17JOG79nXz5k2WmZnJampqWHNz\nM8vJyfFpGsdAQm7WuP12+7Ys97lv72Mw8DLlz47tXMCQIXy/bf4N8dm7VzlYmwjfLp+XEz78chPS\n2LHWKV/VwtcTv660L4fGiAceeKBd18sZM2a4/UYSnD59Gr17927bNhgM2C/8t2SoGd7h1Vdf9Um2\nJLFP6fjKlUBTkwkxMcAbb1jwq1/x7Z9+AlwLB1EFxhbgkUeA+HgL+vUDbt6UjsfGAmfOmDBhgnI2\noUC7H95uV1VVtYVJDtTwDhUVFejbt29bPY888gi2bNliNapVE4vF0vYbtS5LhFjo3Bn48EMLAJ7p\n6vJl3nOOj+dhE+QhFUTvXE5MDLB3L/+elga8/bYFaWn8OWpo4NckJgLbtgHjxtn32AWrVgEjRkg9\n99Wr+W9sbua/UYy+8/L4qGDhQj5qz8vjI4Pdu/k+R6EUPL1fSqEa1Pw/uoT67xzXeP/999ncuXPb\ntt9++23261//2uoctcXTYoLTdnbfttfe/mSw2a6HYjsqkE9MjR9vv9jGE7m9IdwnfDdu3OhS2y4u\nLmbPPvsse/bZZ9krr7xi9dvMZrPL2+K7p9fLt8Uk7ciRZqsFTO6UN2+eWPj4StuEbGKima1fb26b\nMF6/3szuusssm5w1M3mAxNtvty5f3J/u3a3PT04Wz5D19YCZRUSY2W23iUliMxs82Ny2+Cw2Vjq/\nZ0++wEpe38iR/LiYmLX9vQ8+aGY5OWY2cqRZ8Xh720rlyxP/uFveK6+8YtWeXGnbTs+4dOkS+/vf\n/263v6qqqt2C2+OLL76wMvssXbqULV++3Fq4EBga287ui22RIUweC9yblcHyj9wjQim9HMHxVfvS\nomOjFradFbl5QrhFuhOdU/4Rq9eVImDKzTbySJ22yM0+rrhS23oHCbOPbQx+W9rzapKHefAkNpe7\n+Q3cxSvl/95777EePXqwnJwclp2dzfbv3992LDc312vhbty4wW677TZWU1PDrl+/HrJ2UdtQsHfd\nxRuOsP3LA0h5uy7A9iNf0ELzAvb4qn35s2Ojlu1YlGObv1auyB0lOrHNnysPh2z7efBB6zI7deIj\nViW//ttvt/5dtomVXHGhli8Mkyd4KSqyjjfk7n2UB4pzJ0S7v/BK+Q8dOpSdOXOGMcbY/v372YAB\nA9gHH3zAGFNH+TPG2I4dO1j//v1ZZmYmW7p0qb1wKj+cWps5bB8kR0mmo6LkDdvcbgO3/cTG8miD\n7cUV1/p+aF22r5S/Pzs2vN2YvX7By2PoOFr5qtSelJKrSD15+7bbs6dzf39HI4Zt28ztRtHt2JGx\n4cPt9+t0/HkSowmz2ezUHOvKfRT3om9fs2q9d3+3bYcTvi0tLejRowcAYOTIkTCbzZg4cSLq6upU\nm28YP348xo8fr1p5gY48R+j585Lf8IYN0rGEBO6GpjD37TJNTdwlbfJk7mJ65gyPOR4XZx8nvKSE\nTz45iiFOuE9kZCT++Mc/Yty4cWhpacGcOXN8Ntnrbm5cOfL/fVQU3zdgALBvn9QOkpP5R8TIkbsv\nA/x64WOv03H1mZcHnD7N252ciAigd28+OWsbQ19cq0R9PY91L2LuOOL6dV6voEMH/tuamribtIj7\nv3Il8MUX/JyuXfkE72OP8W1X7+PGjfz+FRUF8TPj6K1wxx132Nn7L126xMaMGcOioqK8fzW5gBPx\nghLbJebyHpTcPCR6RjEx6pqBAB6R0FGaynAzDWnZvtSq21GGKXfjxyclWZsjlc6xnQNwtGp39Gi+\nqla+r0MH69W0SvH15Z9OnaTvCQncTBMX5/wasZo3MZFff+iQZIKSx/1XcpUW4aO9zbkdKLG4XGlf\nDs+orKxk1dXVdvuvX7/O3n77be8kc5FQU/6C9iZ7bF8San8yMrxPORcKhILyl+Pui1wp2JltSHFb\nhwXbOoqKHCtiJfOLvJ7Jk61DMQDchJSSIq2DiYxk7Oc/d+zHL//Y+uw3NNivr5H/JoBP+ArvONsX\nkiedoUDpTHml/H3Nhg0bWHZ2NuvQoQP7+uuvFc9R+wEJNht3QwNjd91lZvffz22lP/+59x5B8fHM\nyl3OYPAs0YYzwt3m7++6xT1xJ9MTY1Ino2dPeRsxWyktR9m1RB22yU1EL1+UJXr7eXnSpK68F+7I\n/i9/KfCJZnPbtnyiV6dzHO3Tkafbtm3mtoBrRUXK1xuNrnk32bZHd/8HzsryBlfal8PYPhMnTmzX\nZOTKOY4YMmQINm3ahHvvvdfjMkIdvR74/e+Bjz7itswLF3jT9Ia77rK2tZ47Jy1m8TZuCaE+tvHz\nneFK3Bh5eQCfb8rIkI5HRHAbuMA2lo+oIyuLx9754Qf7OsSCrQEDpNj3jY3c7q7TcfnS0qTyOnfm\n30X8q44dpd/apYv1ArAhQ7j8AsZ4CAlbunSR5tWGDbO+h7GxPA/Hpk1cFjFnER/PY/lMnsxj9dfW\nOs434IhAit3THg5j+8THx7ermI8cOYIaeVZkD7jvvvvw8ssvY9iwYfbChWj8E0/p3Rs4dUp5RaSr\nmEx8Mtn2gYmI4A9fbi5fORkOk79ati9X65bHyiks9D5pt7y85GS++vXGDf7yF6SlAenpzp0A5OXY\nkpTElXxurhR3Sq+XlKzBwCdeBXffzQOniWPnztmv2I2K4m00N5cr70OHgO+/5xO2P/7Iz4mOlhKr\np6Tw43l5fL8o3/YeJiUBFy/y7w8+CGzfLh2bMCH4YvoIXGlfDr19tmzZAgA4dOgQDAYDkpKSAMCq\nwI4dO6ohJ+EiaWlc+QvFL5aki6XoriCLwACAP1AdOkiB5oSXkfBCIrRFePN068a9ZyZM8O7FrORx\nVlBg7X0jMl4BvNfcpw+/LjmZR+qUewd16cKjagK853zffbzczz6TRpMbNkjnR0RwBZ2YyMtJT+ej\nA0BSsikp9nLfuME/+/bx7cmTuVJvaOD1dOvGjzc3A0Yj79Xfdx8/R16+rSfPsGH8eqMReOcd62Mi\nVIXcuymkaM8u9PTTT7PMzExWWFjIysrKWGtrq8t2p7Fjx7LBgwfbfbZu3dp2jslkcmrzV2sJPGPM\n6+sdbYt9apUn35Yv+RZLwsXqYLEkXbKbmttso/HxYom9WWbLtN1+hel0Ztk8Aj+u1ysvaQ+0++HJ\n/9/dJfC+wtW6hc1dnlfWdiLRHVuxI48zud+6/Jg0P2Rth5882bqchAR7O37nzua2uSSRcN2Rfb5D\nBynuvm3SdD6Ra267VslLTn6NWHErn3yVr12Q3y9vV9qqaaf3t83fpRbY0tLCysrK2D/90z+xzMxM\n9tRTTymGffCE9pS/mqh5c/1Rrm3ZjhpqQwN/GdiueFSajLN+iM2KxydM4C5rPXp45vbmr/vhLcGg\n/AVqJwGxbUtie9s2s9Ux+cpbkbg8L0+aDB071jpTlShLPkmrFNMKsPYykn8KCqS2m5DAHR3i4/nC\nLNu6BCJKZ3y8/UtILu/48c6TrrtLyCt/xrjr5+OPP8769+/PfvnLX7Lc3Fz229/+1isBGePK/6uv\nvlIWTsOHMxixzRk6bZr9gyUeDkcp8USsk3AIGx1Myt/XsWAcIdpUYiJX6B06WGfOUmob8+ZJbpMi\nLLIoR56xa8IE+zDK4uUm/73O3CeFX72SPK6WEYqoovxfffVVNmzYMJafn8/ee+891tzczBjjowFv\n4vl/+OGHzGAwsE6dOrHu3buzBx54wF44Uv5uIUYAkycrK3DxkI0da38sPp6xtDQpXZ3ti8TVoF7B\nRDApf0/xdtGRkllFqTMhr0spTk9BAV9fIo6JToYo3zZmvlLwN6VRj207duRi6Y0LZjCiivJ/5pln\nWK2DpLFHjx51Xyo3ILOPd2XLfahtg8YVFIg5AWmf7arKlBTeO3O35xSo98OWUFH+zu6J/P8mX9xn\nqwCFsk1ONtvlq503z16hy3vwYuWvrT2/SxezlcKVy9JeMDR5siMeDM7s9MVgNEqdHttzbEcSgWqq\n8Xfbbjez7PPPP+/wWHZ2tscTzYTvKS0FZs7kbndNTZI7n9HIPTM6d+b7Ae7xwxPMcBoa+N8uXbin\ng/AS6dqVH2tsDFEPCC9ZuHAhtm/fjujoaGRmZmLNmjWIFwmdNUAe+yc62j6BiECeXER4jolzqqul\n9pCaytMhXrnC25PwoCkokFw59Xpg9Ghg2jTggw+4DAUFwNGjkizt5ImyaouRkcBzz1nHExKypqVx\nL6SkJGDtWuVzxO8g7zUbVHvV+IAAFy+oaGhgbasaHZmElOz/RUXcLmu7vD4U7Ka+aF87d+5kLS0t\njDHGFi9ezBYvXuy3upVQihmlZPoQx5Q8asSxbt24+cdg4OGW5bGAxDmRkbxtOYofJffqcWZ+cRZv\nX/475OYoeWiKcDPz2OJK+wpo7UrK33eIh8NZDoHJk5VfEgkJjs0GwTQn4Ov29eGHH7IZM2ZoUrcS\nziaNHdnexbGMDOXAasJ8I3n42HcOHIVwcNaBcEVWpcBySpO94Ygr7atds4+v0GJ47Kscmb7Mvemr\nsktLgYICCwBT2/BYvnLYaORD6E8/tb+2pYWvlBSrNwHrYXZBgQUWi/oyAxrkOfWCN998E9OmTXN4\nXK381La5k8XxlSuBAwd4vujbbrPgueeADRuUy6uqsmD+fKCmhp8jP67XA3FxFvDF/KZbNfHjIhdu\nVZUFGRnA+fMm5OUBRUUWvPoqz7dcWgp062a5lS+Xnz9ggAVFRdK2I3n0er4tzzet1/N81VVVQGmp\nCVlZQH29BQMGAKtXK1/vyv3yZNu2zKDKT+2Hl5AirgyP1RYv3CZ8XSlbmIPk2Zc6duQ9wPZMQ/LA\nWfJhtpp+1Eoyq4Wn7cuVxYu///3v2cMPP6x63Uo4uieeuOs6Kkv40UdGWo8A5BO3tr1teVkieJxI\nNCTPM+1JADU57vbyA3WSNmD9/H2Jo+Gxhu+msMN2+JyRIflqG4325iEpcqP04AXbMNtX7WvNmjXs\nzjvvZNeuXfN73XJsQxd787+R29bFYi93ypRfL+LuyzsRSh0KwnNcaV+amX3kOBseqzU0pm3n26Wl\nQGamBRcvAnl5JkRHAzU1/PjFiybodIAY6ickmG55f1gQG8uH2rZD8epq4No1C5YsASZO1P73AR4O\njd2kvLwcK1aswCeffIJOnTr5rB5XKC0FZs3ialXuCeMJcXH8r4gnZZvRy9XrAR5/5+BBqbz4eO45\n1LWrfYY7wof48u3j7fBYbfHI7OO8bEeeIba9NhELSKfjOVNte2o5OWafeQUFgtnHGX379mV9+vRh\nubm5LDc3lz322GM+r9uTe+Jogt5RWe6M7ETZI0dKvvkNDZLHWEwMz7IlynOW4U6Ul5NjVm1EEKim\nmoDz8/eGXbt2OT2+du1a7NixA3/72998KQbhIiJ2O2Ad0XD6dL4vNlZaFwBw9f711/y76KmVlADH\njvF9cXHWseHDgRMnTmgtQhvO8jMr+cG7Uo4rKJWt1/P9d98N7N3L/fPldW7YwNeOKEXRrK7mI4WD\nB2lEoCqqvWrcpKysjGVnZ7Pz5887PEdD8QgZ7aWVlLt+BlNMIC3blz/qlv8v2kvP6Go5rvw/lYKs\neUO4++x7givty2EyF1/Tr18/NDc3IzExEQBwxx134E9/+pPVOZTMJbBobOQ25OZm4KuveLKMhASg\nsjPMkYwAAA2zSURBVFLKzCQSYAC853/okHQs0AiGZC7eIP9fANaJTBz1sp2V42pSE3lylsJCqdfv\nLDmMM9yRleC41L58+vrxErXFI5u/emUr2YDnzePzA/KYQWp7bwS6zV+Lup3Z6UXUTFd7zUpluevJ\nJXrqAwaYVYuoGai29UAty5X25TCHL0E4wza3K8B7d599hluLeXjWJuG90aMHz96Un99+LlpCHfR6\n4JtvvM8pq/S/dobIY7typXVcKKVMWoR2aGb2cQUy+wQXwjxgOzEsz7MKqGMKUINQN/u0h7MJYTUh\ns43/caV9aaL8lyxZgq1bt0Kn0yEpKQlr165F79697YULgAeEcB3xkIu8qkYjz/8qIkACvPeflcV7\npCJxthqJyT0h3JW/2snhicAhYG3+ly9fbvv+2muvsTlz5iiep7Z4ZPP3T9nbtpntUgSKJDO2SUHc\n9eAgm789nt4TJS+aQLVhU1nu4Ur70mSFb9euXdu+NzU1oVu3blqIQfiI2FjrXqReD2zaxL9PmMD/\nGo3cC2jNGjIFaIV8LQf9D8IPzWz+v/vd7/D2228jJiYG+/btg16h9el0OhQXF1N4hxDabmoC1q0z\nYfVqHnnRn/Xbhnd4/vnnw9rsQ4Qumtr88/PzUV9fb7d/6dKlmDRpUtv28uXLcfz4caxRSO1DD0jo\n4q/JRmeEu82fCF0C1uYv57vvvmODBg1SPKa2eGTz90/ZrpTrqe93sNj8V65cyXQ6Hfvhhx98Xneg\n2p2pLO3KcqV9aeLnL49/smXLFhiNRi3EIDQklH2/6+rqsGvXLqQF6tJmgoBGNv+pU6fi+PHjiIiI\nQGZmJt544w2kpKTYC0dD45AlEHy/fdW+CgsLsWTJEkyePBlff/11WwgTf9RNEIBr7UsTb5/3339f\ni2qJAEIeQTSU2LJlCwwGA4YOHdruuZSrgrZ95czgEqoZmXyA2uKRzd8/ZQeLzJ62L0d5KrZs2cJG\njRrFLl26xBhjLD09nV24cEHVupUIVLszlaVdWa60r4DI5EUQwYSjPBVHjhxBTU0NcnJyAACnTp3C\n8OHDUVFRoWjWJAgt0TS2z8svv4yFCxfiwoULZBcl/I6v21dGRgbZ/AlNcKV9aRbVkzwiiFBHxxMf\na05JCY/jM2ECRVQlJDRT/k888QT+8Ic/+LVOMUkSLOUGa9nBKLMvOHnypGKvX23auyciraJIjO5N\nWWrKRWX5rixX0ET5u+MRQRCEd4TymgrCc/we3uHFF1/E0qVLsXPnTsTFxSEjIwNfffUVkpKS7IWj\n2D60reJ2uMb2CYQ1FYR/Cch4/keOHMHPfvYzxNzqjpw6dQq9evVS9IigSTHCl1BsHyJUCcgJ38GD\nB+PcuXOoqalBTU0NDAYDDhw44BdXOLJx+6fsYJQ5mAlUuzOVpV1ZrqB5Dt9A8YggCIIIJyiHLxGS\nuBIymsw+RKgSkGYfgvAH7rg3EkQ4ElbKn2zc/ik7EGQOJ/fGQLU7U1naleUKmij/5557DgaDAUaj\nEUajEeXl5X6pt6qqKqjKDdayA0Hm0lKgsBDYuTP03RvVvN9UVmiU5QqaBHbT6XR44okn8MQTT/i1\n3kYfrW33VbnBWnYgyByqIaOVUPN+U1mhUZYraGb2ockugiAI7dBM+b/++uvIycnBnDlz/PbGq62t\nDapyg7XsYJQ5mFHznlBZoVGWK2gS3uH2229HcnIyAGDJkiU4e/Ys/vKXv9gLR2sACB+jpasnQfiS\ngAvvYEttbS0mTZqEw4cPaykGQRBEWKGJ2efs2bNt3zdt2oQhQ4ZoIQZBEETYoknPv6ioCFVVVdDp\ndMjIyMB///d/o3v37v4WgyAIImzRpOe/bt06HDp0CAcPHsTmzZv9rvhffvlldOjQARcvXlStzIUL\nFyIrKws5OTl4+OGHcenSJa/LLC8vx8CBA9GvXz+89NJLKkjJM6jdd999GDRoEAYPHozXXntNlXIF\nLS0tMBqNmDRpkqrlNjY2YurUqcjKykJ2djb27dunavn+pqKiAiNHjoTRaEReXh6+/PJLr8p7/fXX\nkZWVhcGDB2Px4sVey6fWM+Ltc6HmM6B221erravdtpctW4ZBgwZhyJAhmD59Oq5fv658ogqJ4oOK\nf/zjH2zcuHEsPT2d/fDDD6qVu3PnTtbS0sIYY2zx4sVs8eLFXpV38+ZNlpmZyWpqalhzczPLyclh\nx44d81rOs2fPssrKSsYYYz/++CPr37+/KuUKXn75ZTZ9+nQ2adIk1cpkjLGioiL2l7/8hTHG2I0b\nN1hjY6Oq5fub0aNHs/LycsYYYzt27GAmk8njsj7++GM2duxY1tzczBhj7Pvvv/dKNjWfEW+eC7Wf\nAbXbvlptXc22XVNTwzIyMthPP/3EGGPsF7/4BVu7dq3iuWEV3gHwXfrI/Px8dOjAb+eoUaNw6tQp\nr8qrqKhA3759kZ6ejqioKDzyyCPYsmWL13KmpqYiNzcXABAbG4usrCycOXPG63IBnpthx44dmDt3\nrqpeNJcuXcKePXswe/ZsAEBkZCTi4+NVK18LevTo0dYLbmxsRK9evTwu64033sBTTz2FqKgoAGjz\npPMUNZ8Rb54LtZ8BNdu+Wm1d7bYdFxeHqKgoXL16FTdv3sTVq1cdtq2wUv7+Sh/55ptvYsKECV6V\ncfr0afTu3btt22Aw4PTp096KZkVtbS0qKysxatQoVcr7zW9+gxUrVrQ97GpRU1OD5ORkzJo1C8OG\nDcO8efNw9epVVevwN8uXL8eTTz6JPn36YOHChVi2bJnHZZ04cQKffvopbr/9dphMJnz11Vcel+XL\nZ8Td58KXz4C3bV+ttq52205MTGxrVz179oRer8fYsWMVz9UkvIMvcba+YNmyZdi5c2fbPnff2I7K\nXrp0aZvd78UXX0R0dDSmT5/upuTW+NoPvKmpCVOnTsWqVasQGxvrdXnbt29HSkoKjEaj6gGqbt68\niQMHDuCPf/wj8vLysGDBAixfvhwvvPCCqvWojbO2+Nprr+G1117DlClTsHHjRsyePRu7du3yqKyb\nN2+ioaEB+/btw5dffolf/OIXOHnypEdlefKM+Oq58NUz4G3bV7Otq922v/32W7z66quora1FfHw8\nCgsL8e6772LGjBn2J3tsXAoyDh8+zFJSUlh6ejpLT09nkZGRLC0tjZ07d061OtasWcPuvPNOdu3a\nNa/L+uKLL9i4cePatpcuXcqWL1/udbmMMdbc3Mzuv/9+9sorr6hSHmOMPfXUU8xgMLD09HSWmprK\nYmJi2KOPPqpK2WfPnmXp6elt23v27GEPPvigKmVrRdeuXdu+t7a2sri4OI/LeuCBB5jFYmnbzszM\nZBcuXHC7HF89I54+F754BtRo+2q2dbXb9vr169mcOXPattetW8fmz5+veG7YKH9b1J7wLSsrY9nZ\n2ez8+fOqlHfjxg122223sZqaGnb9+nXVJnxbW1vZo48+yhYsWKCClMpYLBY2ceJEVcu855572PHj\nxxljjD377LNs0aJFqpbvb4xGY5vC3r17NxsxYoTHZf3Xf/0Xe+aZZxhjjB0/fpz17t1bFRnVeEa8\neS7UfgZ80fbVaOtqtu2qqio2aNAgdvXqVdba2sqKiorYH//4R8Vzw1b5Z2RkqKr8+/bty/r06cNy\nc3NZbm4ue+yxx7wuc8eOHax///4sMzOTLV26VAUpec9Cp9OxnJycNlnLyspUKVtgsVhU9/apqqpi\nI0aMYEOHDmVTpkwJem+fL7/8ko0cOZLl5OSw22+/nR04cMDjspqbm9k///M/s8GDB7Nhw4Yxs9ms\nioxqPCPePhdqPgO+aPtqtHW12/ZLL73EsrOz2eDBg1lRUVGbF5gtmod3IAiCIPxPWHn7EARBEBxS\n/gRBEGEIKX+CIIgwhJQ/QRBEGELKP4ixWCyIj4/HxIkT2/a99dZb6N+/P/r3749169a17Z8xYwaS\nkpLwwQcfaCEqQbiMUrt+4IEHkJCQYBdEjdq155DyD3LuvfdebN++HQBw8eJFvPDCC6ioqEBFRQWe\nf/75thSZ7777Lh566CHKIEUEBfJ2DQCLFi3C22+/bXcetWvPIeUfJDz77LNYtWpV2/bvfvc7HDp0\nyOqcjz76CPfffz/0ej30ej3y8/NRXl5udQ559hKBhCvtGgDGjBnjNBQDtWv3IeUfJMyePbvNjNPa\n2or33nsPBoPB6pwzZ85Y7fNFMDiCUBNX2jXhG0IusFuokpaWhqSkJFRVVaG+vh7Dhg1DUlKS1mIR\nhFdQu9YOUv5BxNy5c7FmzRqcO3euLf63nF69ellFGayrq8OYMWP8KCFBuE977VpAdn11IbNPEDFl\nyhSUl5fjq6++wrhx4+zsnOPGjcPOnTvR2NiIhoYG7Nq1C+PGjdNIWoJwjfbatYDs+upCPf8gIioq\nCmPGjEFCQoJiLyghIQFLlixBXl4eAD6Zptfr/S0mQbhFe+0aAO655x4cP34cTU1N6N27N958803k\n5+f7WdLQgpR/ENHa2op9+/bh/fffd3jOrFmzMGvWLMVj1HMiAhFX2vWePXscHqN27Rlk9gkSjh07\nhn79+mHs2LHIzMwEAHTs2BFHjhyxWgzjiBkzZmDPnj3o3Lmzr0UlCJehdq0dFNKZIAgiDKGeP0EQ\nRBhCyp8gCCIMIeVPEAQRhpDyJwiCCENI+RMEQYQhpPwJgiDCkP8PRsjoOizEEogAAAAASUVORK5C\nYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x364f4d0>"
       ]
      }
     ],
     "prompt_number": 1
    }
   ],
   "metadata": {}
  }
 ]
}